package com.wolfeyes.common.core.enums.common;

/**
 * 
 * @description 公共信息-RSA算法（公私钥非对称加密）的类型信息枚举管理
 * @projectName film
 * @className RSATypeEnum.java
 * @author yanyljava
 * @since 2017年07月09日下午5:37:39
 * @createTime 2018年07月09日 下午17:04:13
 * @version 1.0.0
 * @return String
 * @throws Exception
 */
public enum RSATypeEnum {
	
	// 公钥；
	PUBLICKEY(0, "public_key"),
	
	// 公钥指数；
	PUBLICEXPONENT(1, "public_exponent"),
	
	// 公钥模数；
	PUBLICMODULUS(2, "public_modulus"),
	
	// 私钥；
	PRIVATEKEY(3, "private_key"),
	
	// 未知；
	UNKNOWN(4, "unknown"),
	
	// 其他；
	OTHER(5, "other");

	// 类型编号
	private final Integer type;
	
	// 类型名称
	private final String value;

	RSATypeEnum(Integer type, String value) {
        this.value = value;
        this.type = type;
    }

    public static String getValue(int type) {
    	RSATypeEnum[] accountTypes = RSATypeEnum.values();
        if (accountTypes != null && accountTypes.length > 0){
            for (RSATypeEnum accountType : accountTypes){
                if (accountType.type == type){
                    return accountType.value;
                }
            }
        }
        return null;
    }
    
    public int getType() {
        return type;
    }
    
    public String getValue() {
        return value;
    }
    
    public static RSATypeEnum getTypeEnume(int type){
    	RSATypeEnum[] accountTypes = RSATypeEnum.values();
        if (accountTypes != null && accountTypes.length > 0){
            for (RSATypeEnum accountType : accountTypes){
                if (accountType.type == type){
                    return accountType;
                }
            }
        }
        return null;
    }
}


